<html>
<body>
报告赋值后未使用的赋值。
如果不使用，最好移除该赋值，以缩短代码并避免冗余分配。
<p>将报告以下情况：</p>
<ul>
  <li>变量在赋值后从未被读取</li>
  <li>变量在被读取前始终被新值重写</li>
  <li>变量初始值设定项冗余（出于以上两种原因之一）</li>
</ul>
<!-- tooltip end -->
<p>配置检查：</p>
<p>
使用<b>报告冗余初始值设定项</b>选项可以报告冗余的初始值设定项：
</p>
<pre><code>
  int getI() {
    int i = 0; // 冗余初始化
    i = 2;
    return i;
  }
</code></pre>
<p>
使用<b>报告可被替换为二元表达式的前缀表达式</b>选项可以报告可将 <code>++i</code> 表达式替换为 <code>i + 1</code> 的情况：
</p>
<pre><code>
  int preInc(int value) {
    int res = value;
    return ++res;
  }
</code></pre>
<p>
使用<b>报告未使用更改后的值的后缀表达式</b>选项可以报告稍后未使用 <code>i</code> 的值的 <code>i++</code> 情况：
</p>
<pre><code>
  int postInc(int value) {
    int res = value;
    return res++;
  }
</code></pre>
<p>
使用<b>报告其值从未被使用的模式变量</b>选项可以报告模式变量的值在读取之前被覆盖的情况：
</p>
<pre><code>
  if (object instanceof String s) {
      s = "hello";
      System.out.println(s);
  }
</code></pre>
<p>
使用<b>报告其值从未被使用的迭代形参</b>选项可以报告增强的 <code>for</code> 语句的迭代形参的值在读取前被覆盖的情况：
</p>
<pre><code>
  for (String arg : args) {
      arg = "test";
      System.out.println(arg);
  }
</code></pre>
</body>
</html>
